#!/usr/bin/env python
#-*-coding:utf-8-*-

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Lesser General Public License for more details.

# You should have received a copy of the GNU Lesser General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

# This project is sponsored by:
#   http://www.equiposcreativos.com/

################################################################################
# META
################################################################################

__version__ = "0.2"
__license__ = "GPL3"
__author__ = "JBC"
__since__ = "0.2"
__date__ = "2010/09/05"


################################################################################
# IMPORTS
################################################################################

import json
import os

################################################################################
# CONSTANTS
################################################################################

_DATA_PATH = os.path.abspath(os.path.dirname(__file__)) + os.path.sep + "data"

_PATH =  _DATA_PATH + os.path.sep + "feeds.json"

if not os.path.exists(_DATA_PATH):
    os.mkdir(_DATA_PATH)
    

################################################################################
# SETUP
################################################################################

_feeds = set()


try:
    with open(_PATH) as f:
        _feeds = set(json.load(f))
except IOError:
    pass


################################################################################
# FUNCTIONS
################################################################################

def register(feed):
    assert isinstance(feed, basestring)
    _feeds.add(feed)
    with open(_PATH, "w") as f:
        json.dump(list(_feeds), f, indent=True)


def remove(feed):
    try:
        _feeds.remove(feed)
    except KeyError:
        pass
    else:
        with open(_PATH, "w") as f:
            json.dump(list(_feeds), f, indent=True)
            

def get_feeds():
    return tuple(_feeds)
